#pragma once

#include "./models.hpp"

namespace qbe::select {

enum struct Code {

  PartHoverUpdate,
  PartHoverCancel,
  PartHoverClear,

  PartSelectUpdate,
  PartSelectCancel,
  PartSelectClear,

  PartBoxDrawUpdate,
  PartBoxDrawCancel,
  PartBoxDrawClear,

  HoverUpdate,
  HoverCancel,
  HoverClear,

  SelectUpdate,
  SelectCancel,
  SelectClear,

  DrawBoxUpdate,
  DrawBoxCancel,
  DrawBoxClear,
};

struct Event {
  Code code;
};

}  // namespace qbe::select